In recent years, since the security of information is becoming more and more important, secret or cryptographic communication in a communication network is indispensable. That is, communication information is encrypted at a transmitting end, and transmitted to a receiving end. The receiving end, which has received the encrypted information, decrypts the encrypted information, and obtains the communication information.
In such cryptographic communication, managing an encryption key for performing encryption and decryption is important. That is, the encryption key, which encrypts and decrypts communication information, is managed only at the transmitting end and at the receiving end.
Recently, it is common that a server apparatus manages an encryption key, and delivers the key to terminal devices, which perform secret communication. That is, before the secret communication is performed between such terminal devices, the server apparatus delivers the encryption key to the terminal devices, and the terminal devices perform the secret communication using the encryption key. Meanwhile, the term “delivery” throughout the specification means processing for transmitting key information to a specific terminal device. Secret communication between terminal device, in which an encryption key remains unchanged, increases a risk of code-breaking of the encryption key and of an interception of the communication by a third party. In order to solve this problem, a server apparatus updates the encryption key periodically and delivers the updated encryption key to the terminal devices. The terminal devices perform the secret communication using the updated encryption key. However, since the updated encryption key is often delivered via a communication network between the server apparatus and the terminal devices, the encryption key is required to be delivered so as not to be intercepted by a third party. Japanese Patent Application Laid-Open No. 1997-319673 discloses an encryption key updating method and a system thereof for updating an encryption key, wherein an encryption key server apparatus transmits data for updating the encryption key to each client apparatus, and the client apparatus receives the update data, and receives update permission from the encryption key server to update the encryption key.